package com.kefu.sys.model;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;
import java.io.Serializable;


@Data
@TableName(value="sys_menu")
@ApiModel(description="菜单")
public class SysMenu implements Serializable {
    /**
     * 主键
     */

    @TableId(value="id")
    @NotEmpty
    @ApiModelProperty(name = "id", value = "主键")
    private String id;

    /**
     * 上级
     */
    @TableField(value = "parent_id")
    @ApiModelProperty(name = "parentId", value = "上级")
    private String parentId;

    /**
     * 菜单名称
     */
    @TableField(value = "name")
    @ApiModelProperty(name = "name", value = "菜单名称")
    private String name;

    /**
     * 菜单名称
     */
    @TableField(value = "name_en_us")
    @ApiModelProperty(name = "name", value = "菜单名称(英文)")
    private String nameEnUs;

    /**
     * 排序
     */
    @TableField(value = "weight")
    @ApiModelProperty(name = "weight", value = "排序")
    private Integer weight;

    /**
     * 前端标识
     */
    @TableField(value = "path")
    @ApiModelProperty(name = "path", value = "前端标识")
    private String path;

    /**
     * 后端标识
     */
    @TableField(value = "code")
    @ApiModelProperty(name = "code", value = "后端标识")
    private String code;
    
    /**
     * 后端标识
     */
    @TableField(value = "icon")
    @ApiModelProperty(name = "icon", value = "图标")
    private String icon;
    
    @TableField(value = "data_status")
    @ApiModelProperty(name = "dataStatus", value = "数据权限",notes="0 无效，1 有效")
    private Integer dataStatus;
    
    @TableField(value = "component")
    @ApiModelProperty(name = "component", value = "组件",notes="")
    private String component;
    
    @TableField(value = "redirect")
    @ApiModelProperty(name = "redirect", value = "重定向",notes="")
    private String redirect;
    
    @TableField(value = "no_cache")
    @ApiModelProperty(name = "noCache", value = "缓存",notes="")
    private Integer noCache;
    
    @TableField(value = "affix")
    @ApiModelProperty(name = "affix", value = "附加",notes="")
    private Integer affix;
    
    @TableField(value = "type")
    @ApiModelProperty(name = "type", value = "类型",notes="")
    private String type;
    
    @TableField(value = "task_id")
    @ApiModelProperty(name = "taskId", value = "任务ID",notes="")
    private Integer taskId;
    
    @TableField(value = "hidden")
    @ApiModelProperty(name = "hidden", value = "是否隐藏",notes="0，否，1是，默认 0")
    private Integer hidden;
    
    @TableField(value = "always_show")
    @ApiModelProperty(name = "alwaysShow", value = "",notes="0，否，1是，默认 0")
    private Integer alwaysShow;

    @TableField(value = "create_time")
    @ApiModelProperty(value = "创建时间")
    private Long createTime;

    private static final long serialVersionUID = 1L;
}